﻿using Microsoft.AspNetCore.Authentication;

namespace sixgod.sso.Authentication
{
    public class AuthenticationHandler:IAuthenticationHandler
    {
        private readonly ILogger<AuthenticationHandler> _logger;

        /// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary>
        public AuthenticationHandler(ILogger<AuthenticationHandler> logger)
        {
            _logger = logger;
        }

        /// <summary>
        /// Initialize the authentication handler. The handler should initialize anything it needs from the request and scheme as part of this method.
        /// </summary>
        /// <param name="scheme">The <see cref="T:Microsoft.AspNetCore.Authentication.AuthenticationScheme" /> scheme.</param>
        /// <param name="context">The <see cref="T:Microsoft.AspNetCore.Http.HttpContext" /> context.</param>
        public Task InitializeAsync(AuthenticationScheme scheme, HttpContext context)
        {
            return null;
        }

        /// <summary>Authenticate the current request.</summary>
        /// <returns>The <see cref="T:Microsoft.AspNetCore.Authentication.AuthenticateResult" /> result.</returns>
        public Task<AuthenticateResult> AuthenticateAsync()
        {



            return null;
        }

        /// <summary>Challenge the current request.</summary>
        /// <param name="properties">The <see cref="T:Microsoft.AspNetCore.Authentication.AuthenticationProperties" /> that contains the extra meta-data arriving with the authentication.</param>
        public Task ChallengeAsync(AuthenticationProperties? properties)
        {
            return null;
        }

        /// <summary>Forbid the current request.</summary>
        /// <param name="properties">The <see cref="T:Microsoft.AspNetCore.Authentication.AuthenticationProperties" /> that contains the extra meta-data arriving with the authentication.</param>
        public Task ForbidAsync(AuthenticationProperties? properties)
        {
            return null;
        }
    }
}
